4 תשובות
captcha זה אחלה דרך לגרום ל ddos.
ddos זה נסיון לגרום לשרת שלך לעומס כזה גדול (בביצועים או בתעבורה) כדי שייקח לו שעה לענות לכל בקשה ומשתמשים שיתווספו לתור עם בקשות חדשות פשות לא יקבלו תשובה.
captcha זה אחלה נקודת עומס על השרת, בגלל שבדרך כלל זה סקריפט ממש כבד גם מבחינת מעבד וגם מבחינת זיכרון ועל הדרך גם סתם משהו מכוער ומאוד מאוד מעצבן גולשים ומוריד את ה conversion rate.
טיפול בddos זה לא ברמת הקוד, בגלל שהקוד שלך אפילו לא יופעל במקרה כזה מזכיר שמדובר בשרת תקוע.
זה ברמת firewallים שבדרך כלל חיצוניים לשרת. קופסאות קטנות וחמודות כאלה, כמו המודם שלך, שמתפקדות בגדר פיירוול. לספק אחסון שלך, או יותר נכון, לחוות שרתים שבה נמצא הספק אחסון שלך - אמורות להיות כמה קופסאות כאלה, ככה שאתה יכול לא לדאוג לזה.
אם הדאגה שלך היא בקשר לסתם משתמש שיפעיל 50 סאבמיט ידניים של אותו טופס בטעות, מה שלא יגרום לשרת לקרוס, זה כבר סיפור אחר. פה אפשר לעשות הגנה אפליקטיבית. אני למשל מעדיף ערך רנדומלי בשדה נסתר בטופס שנרשם לסשן, ובסאבמיט בודקים שערך כזה עוד לא מופיע בסשן וטופס כזה עוד לא נשלח. ככה שטופס אחד שנתת למשתמש יגרום רק לסאבמיט אחד, גם אם הוא ילחץ 10 פעמים על הכפתור.
אם אתה רוצה להגן מפני סאבמיטים של רובוט - אז כן, קאפצ'ה נשמע כמו פתרון (גרוע מאוד למדי),
למרות שגם פה יש פתרונות יותר יצירתיים. אבל לפני שאתה חושב בכיוון הזה בכלל, אתה יכול להירגע ולנוח שנה, שנתיים, עד שהאתר שלך יהיה מספיק פופולארי, בשביל שמישהו ירצה לכתוב בוט ספציפי לאתר שלך, שבמיוחד בשבילך שולח טופס מסוג כלשהו.
* להכניס את הIP שלו לבאן כשאתה מגלה כמה סאבמיטים מאותו IP.
* לרובוט שפרסם וויאגרה בפורום שלי הייתה בעיה שהוא לא הבין קידוד בעברית. הכנסתי שדה נסתר עם טקסט באיזה קידוד מוזר וכל דפדפן שלח אותו בסדר, אבל הרובוט שלך אותו בקידוד אחר.
* אפשר סתם לעשות דברים רק למשתמשים רשומים.
* הרבה רובוטים נופלים על מילוי כל השדות של טופס. בעיקר שדות עם שמות פופולאריים כמו email. שים שדה נסתר בשם email. כל רובוט ימלא לך אותו, משתמש רגיל לא.
* אפשר להשתמש בשירות חיצוני לאיתור ספאם בטקסט כמו akismet שזה מה שוורדפרס עושה.
* תחשוב ביצירתיות. יש לי הרבה סיבות להאמין שאף אחד לא יכתוב רובוט בשביל האתר הספציפי שלך.